package com.alamiya.common.constant;

/**
 * @author HEHAOQI
 * @date 2021-02-03
 */

public enum ResponseCodeEnum {
    /**
     *
     */
    // 200~299 段 表示操作成功
    SUCCESS(200, "成功"),
    SUCCESS_DOING(201, "正在处理该请求"),
    RESULT_IS_NULL(299, "查询结果为空"),

    // 300~399段 表示参数方面的异常
    PARAM_IS_BLANK(311, "必填字段为空"),
    PARAM_IS_INVALID(312, "入参json格式化失败"),
    PARAM_ENUM_INVALID(313, "参数枚举值无效"),
    PARAM_OUTOF_LIMIT(314, "参数长度超过限制"),
    PARAM_NUMBERFORMAT_FAULT(315, "数字格式化异常"),
    PARAM_DATEFORMAT_FAULT(316, "日期格式化异常"),

    // 400~499 段 表示请求地址方面的异常：
    // 400 找不到地址
    // 401 不提供Token或者Token错误或者过期时  HttpServletResponse.SC_UNAUTHORIZED
    // 403 权限不足 HttpServletResponse.SC_FORBIDDEN
    // 500~599 段 表示内部代码异常：
    // 500 服务器代码异常
    FAILURE(500, "操作失败"),
    DB_OPERATE_FAILED(501, "数据库操作失败"),
    DB_DUPLICATE_KEY(502, "数据库主键重复"),
    SQL_PARSE_FAILED(503, "sql语句解析失败"),
    DB_EXIST_KEY(504, "对应主键不存在"),
    ;
    /**
     * 操作代码
     */
    private int code;

    /**
     * 提示信息
     */
    private String desc;

    ResponseCodeEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public int getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

}
